﻿#include <QTableWidgetItem>
#include <QTableView>
#include <QHeaderView>

#include "customtable.h"

QTableWidgetItem *Custom::newTableWidgetItem(const QString &text)
{
    QTableWidgetItem *item = new QTableWidgetItem(text);
    item->setToolTip(text);
    return item;
}

void Custom::initTableView(QTableView *tableView, bool multiSelect)
{
    initTableView(tableView);
    tableView->setSelectionMode(multiSelect ? QAbstractItemView::ExtendedSelection : QAbstractItemView::SingleSelection);
}

void Custom::initTableViewWithNoSelection(QTableView *tableView)
{
    initTableView(tableView);
    tableView->setSelectionMode(QAbstractItemView::NoSelection);
}

void Custom::initTableView(QTableView *tableView)
{
    tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
    tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
    tableView->horizontalHeader()->setHighlightSections(false);
    tableView->verticalHeader()->setHighlightSections(false);
    tableView->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
    tableView->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
    tableView->setSortingEnabled(true);
}

void Custom::initTableViewWithEditable(QTableView *tableView)
{
    tableView->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::EditKeyPressed);
    tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
    tableView->horizontalHeader()->setHighlightSections(false);
    tableView->verticalHeader()->setHighlightSections(false);
    tableView->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
    tableView->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
    tableView->setSortingEnabled(true);
}
